package kz.kstu.aecdemo.business.server.api;

import kz.kstu.aec.model.AuthenticationData;
import kz.kstu.aec.model.Point2D;
import kz.kstu.aecdemo.business.entity.security.ECAccount;

import javax.security.auth.login.AccountException;
import javax.security.auth.login.AccountNotFoundException;
import javax.security.auth.login.LoginException;
import java.math.BigInteger;

/**
 * @author Filipp_Stankevich
 *         created: 08.09.11 15:42
 */
public interface AccountService extends Service {

    void register(String login, Point2D publicKey) throws AccountException;

    BigInteger getAuthenticationNumber(String login) throws AccountNotFoundException;

    ECAccount login(AuthenticationData authenticationData) throws LoginException;

    void changePassword(String login, Point2D publicKey)  throws AccountNotFoundException;

    int getUserCount();
}
